/**
 * --------------------------------------------------
 * Hoja de Trabajo 1: Implementación de una Radio 
 * --------------------------------------------------
 * - Universidad del Valle de Guatemala
 * - Algoritmos y Estructuras de Datos
 * - Manuel Contreras - 11043
 * - Miguel Zea - 09238
 * - Eduardo Drummond - 09265
 */

package carro;

/** 
 * Interfaz basada en la propuesta de Jorge Lainfiesta, disponible en el foro del curso de Algoritmos
 * y Estructuras de Datos en Blackboard UVG
 */
public interface Radio {
    static final int AM_MIN = 530;
    static final int AM_MAX = 1610;
    static final int AM_D   = 10;
 
    static final float FM_MIN = (float) 87.9;
    static final float FM_MAX = (float) 107.9;
    static final float FM_D   = (float) 0.2;        
    
    public abstract void onOff();                   // Enciende o apaga la radio
    public abstract void cambiarBanda();            // Cambia la banda entre AM/FM
    public abstract void  cambiarFrecuencia();      // Aumenta la frecuencia en el delta correspondient a la banda
    public abstract float getFrecuencia();          // Regresa la frecuencia seleccionada actualmente
    public boolean isOn();                          // Regresa el valor si esta encendida o no la radio
    public boolean isAM();                          // Regresa true si la radio esta en AM de lo contrario false
    public boolean isFM();                          // Regresa true si la radio esta en FM de lo contrario false
    public void seleccionarEstacion(int boton);     // Cambia la frecuencia seleccionada a la frecuencia guardada en el botón correspondiente
    public void guardarEstacion(int boton);         // Guarda la frecuencia seleccionada en el botón corespondiente 
}
